1. Field of the Invention
The present invention relates to a method for correcting, using a vision sensor, an already-prepared robot teaching program, that is, a robot teaching program in which teaching point data has already been specified. More particularly, the present invention relates to a teaching program correction method for removing the deviation between a teaching point position specified by a teaching program and a position corresponding to the teaching point on an actual work object. Though the method of the present invention can be applied to industrial robots in general, the application to a welding robot for performing arc welding or spot welding may be considered as a typical application.
2. Description of the Prior Art
To rationalize the preparation process of the robot teaching program designed for various work, including welding work to be carried out by moving a robot with respect to a work object (hereinafter referred to as a workpiece), an off-line programming system has been employed. Data for designing a workpiece, data relating to the positional relation between a robot and the workpiece, and data giving the relation between coordinate systems set for the robot (homogeneous transformation matrix data) are used to prepare a teaching program on an off-line basis. Therefore, an actual robot position (including its posture; the same applies hereafter) under a reproductive operation may deviate from a position specified or prearranged as a teaching point on an actual workpiece due to various error factors.
More particularly, it commonly happens that the actual position of robot, corresponding to the position taught by the teaching program when the program is executed, does not always coincide with the position specified as an n-th position on the actual workpiece. The following are error factors which are considered to cause positional deviation of taught positions.
1. Errors of data relating to the positional relation between a robot and a workpiece: In other words, the positional relation between the robot and the workpiece according to the data is not realized; PA1 2. Machining and assembling errors of a robot (e. g. link length error); PA1 3. Errors due to deflection of a robot caused by its own weight or the weight of an end effector; PA1 4. Machining and assembling errors of an end effector; PA1 5. Errors due to deflection of an end effector PA1 6. Shape errors of a workpiece.
It has been difficult to prepare an off-line program by previously evaluating accurately these errors. In particular, it has been almost impossible to previously evaluate the above factors 4 to 6.
Thus, the deviation between a position to be realized corresponding to a teaching point under reproduction of a program and a teaching point position specified for an actual workpiece typically occurs when the program was prepared on an off-line basis. However, the occurrence of such deviation is not necessarily limited to the case of an off-line program but may also occur in any prepared program into which the above error factors may come. For example, when workpiece manufacturing lot numbers are changed, the above factor 6 works. When end effectors are changed, the above factors 3 to 5 work. Therefore, the aforementioned deviation from teaching point may occur in a teaching program which was prepared into any optional system.
Conventionally, however, when the above-described problem is encountered or expected to be encountered, it has been a usual practice that the robot equipped with an end effector is manually operated to let its tool point coincide with each point on a workpiece (a representative workpiece) which is actually taught to the robot (by the program). However, the above manual program correction by an operator requires a large workload. In particular, when types of workpieces are diversified and thereby the number of programs to be prepared and used increases, the program correction causes the productivity of the entire robot operation to greatly decrease.